package com.stack.knowyouservice.service;


import com.stack.knowyoubean.bean.KnowLedge;
import org.springframework.security.core.Authentication;

import java.util.HashMap;

/**
 * 知识点的服务层接口
 *
 * @author stack
 */
public interface KnowLedgeService {

    /**
     * 知识点查询
     *
     * @param sid            课程号
     * @param kname          知识点名
     * @param kclass         知识点类型
     * @param kchap          知识点章节
     * @param page           页码
     * @param limit          页数量
     * @param authentication 权限信息
     * @return 知识点集合
     */
    HashMap<String, Object> knowLedgeSearch(Integer sid, String kname, String kclass, String kchap, Integer page, Integer limit, Authentication authentication);

    /**
     * 知识点添加
     *
     * @param knowLedge 知识点实体
     * @return 添加成功的标记
     */
    boolean knowLedgeAdd(KnowLedge knowLedge);

    /**
     * 知识点更新
     *
     * @param knowLedge 知识点实体
     * @param sid       课程号
     * @return 更新成功标记
     */
    boolean knowLedgeUpdate(KnowLedge knowLedge, Integer sid);

    /**
     * 知识点删除
     *
     * @param kid 知识点编号
     * @param sid 课程号
     * @return 删除成功的标记
     */
    boolean knowLedgeDelete(Integer kid, Integer sid);
}
